1. Field of the Invention
The present invention relates to a multi-function transmit packet buffer. More particularly, the present invention relates to a multi-function transmit packet buffer which allows wake-up patterns to be stored in a first portion of the transmit packet buffer and keep-alive and alert-on-LAN packets to be stored in a second portion of the transmit packet buffer. The first portion can be used for pattern matching to wake up the system, while the second portion simultaneously can be used to send out keep-alive and alert-on-LAN packets.
2. Description of Related Art
Current network interface cards (NICs) are unable to download packets through sources other than a PCI bus. This limits the ability to manage the PC remotely over a network through the NIC.
Current NICs use the transmit packet buffer (TPB) to store wake-up patterns. Current NICs cannot use the same TPB to also store and send out keep-alive and alert-on-LAN packets. Current NICs use separate resources to send out keep-alive and alert-on-LAN packets over a network. This increases the complexity and cost of the NIC.
What is needed is a transmit packet buffer which allows packet downloading through multiple sources including a PCI bus, a flex EEPROM, and a serial bus. What is also needed is a transmit packet buffer which eliminates the need for separate resources to send out keep-alive and alert-on-LAN packets over a network.
The present invention is directed towards a network interface card. The network interface card comprises a multiplex control for controlling downloading of a wake-up pattern and a keep-alive packet from at least one of a plurality of sources into a first and second predefined locations, respectively, in a transmit packet buffer, a wake-up read control for controlling reading out of the wake-up pattern from the first predefined location, and a keep-alive read control for controlling reading out of the keep-alive packet from the second predefined location. The network interface card also comprises an arbiter for controlling the wake-up and keep-alive read controls, the arbiter capable of allowing the transmit packet buffer to transmit the wake-up pattern to a comparator substantially in parallel with transmitting the keep-alive packet to a network, the comparator capable of comparing the wake-up pattern from the transmit packet buffer with received packets from the network and generating a wake-up signal to a host when a match is found.